package com.ego.item.service;

import com.ego.common.pojo.PageResult;
import com.ego.item.entity.Sku;
import com.ego.item.entity.SpuBO;
import com.ego.item.entity.SpuDetail;

import java.util.List;
import java.util.Map;


public interface GoodsService {
    PageResult<SpuBO> page(String key, Boolean saleable, Integer page, Integer rows);

    void save(SpuBO spuBo);

    SpuDetail findSpuDetailById(Long id);

    List<Sku> querySkuBySpuId(Long spuId);

    void update(SpuBO spuBo);

    void deleteSpuById(Long id);

    void updateShelf(Long id);

    PageResult<SpuBO> goodsPage(Boolean saleable, Integer page, Integer rows);

    void sendMessage(Long id, String type);

    SpuBO queryGoodsById(Long id);

    Sku findSkuBySkuId(Long skuId);

    List<Sku> findSkuListBySkuIds(List<Long> skuIdList);

    Boolean reduceStock(List<Map<Object, Object>> orderDetailList);
}
